A processor to be used in a mobile information terminal is expected to consume a small amount of electric power. This processor includes an SRAM as a cache memory, and the data to be frequently used by the processor is stored in the SRAM serving as a cache memory. The SRAM has to constantly supply power to the volatile memory. Even at a standby time when there is no access from the processor, electric power is consumed by leakage current from transistors. The cache memory formed with the SRAM that consumes a large amount of standby electricity may be replaced with an SRAM formed with a nonvolatile element (this SRAM will be hereinafter also referred to as a nonvolatile SRAM). With this replacement, power supply can be cut off when there is no need to access the cache memory, and consumption of standby electricity can be reduced.
Nonvolatile SRAM cells based on conventional SRAM cells have been suggested as memory cells that can be made nonvolatile without any degradation of high-speed SRAM operation. In such a nonvolatile SRAM cell, a two-terminal magnetoresistance change memory element (MTJ element) is incorporated into a conventional SRAM cell formed with six transistors. In this cell, the MTJ element at 2 to 19 kΩ is connected in series to an SRAM data storing node. Because of this, static noise margin (SNM) indicating SRAM read error resistance is degraded. Further, since the two-terminal MTJ element is used, the same path is used for reading and writing, and the MTJ element has a lowered resistance to information alteration.
Meanwhile, nonvolatile flip-flops each including a three-terminal domain wall displacement element have been known. A three-terminal domain wall displacement element is a nonvolatile memory element formed with a domain wall displacement unit that records data, and an MTJ unit that reads data. When current flowing in a direction orthogonal to the domain wall is applied to the nonvolatile memory element, the domain wall moves in the direction of electrons. As a result, the magnetization direction of the MTJ unit is reversed, and the resistance value changes. Thus, data is recorded. The resistance value of the domain wall displacement unit is equal to a metal resistance, and the resistance value of the MTJ unit is several kΩ to ten and several kΩ. The above described flip-flop has the same structure as an SRAM cell. In the three-terminal domain wall displacement element, the MTJ unit is connected in series to the source of the drive transistor of the SRAM cell. Because of this, the source potential floats away from the substrate potential, and the SNM is degraded. Furthermore, current is applied to the MTJ unit every time the SRAM operates. As a result, the resistance to information alteration or the reliability of the MTJ unit is lowered.